<?php

require_once 'utils.php';
require_once 'mysqli_connect.php';
require_once 'modelo.php';
require_once 'logging.php';

global $mysqli;
global $tienda;

$log->debug("En comprar.php");



$msg = new PHPResult();
$msg->resultado = false;
$msg->mensaje = "Se ha producido un error.";


session_start();
try {
    $mysqli->query("BEGIN");
    if (isset($_SESSION['user'])) {
        $articulos = json_decode($_POST['datos']);
        //$tienda = Tienda::getInstance();
        $tienda->comprar($articulos, $msg);
        if ($msg->resultado) {
            $mysqli->query("COMMIT");
        } else {
            $mysqli->query("ROLLBACK");
        }
    } else {
        $msg->mensaje = "Debe conectarse primero";
        $mysqli->query("ROLLBACK");
    }
} catch (Exception $e) {
    $mysqli->query("ROLLBACK");
    $msg->esError = true;
    $msg->resultado = false;
    $msg->mensaje = $e->__toString();
    if ($error = error_get_last()) {
        $log->error($error['message'] . " in " . $error['file'] . ' line ' . $error['line']);
    } else {
        $log->error($e->__toString());
    }
}

if(defined("DEBUG_MODE")) {
    sleep(5);
}
echo json_encode($msg);
?>
